package com.alander.nexusgo.user.service;

import com.alander.nexusgo.user.model.entity.UserTag;
import com.alander.nexusgo.user.model.constants.UserTagsEnum;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author alander
*/
public interface UserTagService extends IService<UserTag> {

    /**
     * 获取用户标签
     *
     * @param userId 用户id
     */
    List<String> listUserTag(Long userId);

    /**
     * 获取用户标签枚举
     *
     * @param userId 用户id
     */
    List<UserTagsEnum> listUserTagEnums(Long userId);

    /**
     * 设置标签
     *
     * @param userId 用户id
     * @param userTagsEnum 标签枚举
     */
    boolean setTag(Long userId, UserTagsEnum userTagsEnum);

    /**
     * 取消标签
     *
     * @param userId 用户id
     * @param userTagsEnum 标签枚举
     */
    boolean cancelTag(Long userId,UserTagsEnum userTagsEnum);

    /**
     * 是否包含某个标签
     *
     * @param userId 用户id
     * @param userTagsEnum 标签枚举
     */
    boolean containTag(Long userId,UserTagsEnum userTagsEnum);
}
